using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("DeadManCopyHandToDeckSpell")]
	public class DeadManCopyHandToDeckSpell : SuperSpell
	{
		public float m_MoveUpTime => method_2<float>("m_MoveUpTime");

		public float m_MoveUpOffsetZ => method_2<float>("m_MoveUpOffsetZ");

		public float m_MoveUpScale => method_2<float>("m_MoveUpScale");

		public float m_MoveToDeckInterval => method_2<float>("m_MoveToDeckInterval");

		public List<Actor> m_actors => method_3<Class271<Actor>>("m_actors")?.method_25();

		public int m_numActorsInLoading => method_2<int>("m_numActorsInLoading");

		public DeadManCopyHandToDeckSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DeadManCopyHandToDeckSpell(IntPtr address)
			: this(address, "DeadManCopyHandToDeckSpell")
		{
		}

		public new bool AddPowerTargets()
		{
			return method_11<bool>("AddPowerTargets", Array.Empty<object>());
		}

		public new Card GetTargetCardFromPowerTask(int index, PowerTask task)
		{
			return method_14<Card>("GetTargetCardFromPowerTask", new object[2] { index, task });
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public void OnActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnActorLoaded", assetRef, go, callbackData);
		}

		public void AnimateSpread()
		{
			method_8("AnimateSpread");
		}
	}
}
